home *** CD-ROM | disk | FTP | other *** search
- #include <proto/exec.h>
- #include <proto/asl.h>
- #include <proto/muimaster.h>
- #include <clib/alib_protos.h>
- #include <clib/muimaster_protos.h>
- #include <libraries/asl.h>
- #include <libraries/mui.h>
- #include <libraries/iffparse.h>
- #include <stdio.h>
- #include <string.h>
- #include "/include/docmafr_protos.h"
- #include "/include/docmafr_pragmas.h"
-
-
- #define AGET_ID 1
- #define DGET_ID 2
-
-
- /*=============================================================================
- Global vars
- -----------------------------------------------------------------------------*/
-
- LONG __stack = 16384;
- Object *app, *win, *aget, *dget, *alist, *dlist, *multi, *patgad, *savemode, *drawers;
- struct Library *DocMaFRBase, *MUIMasterBase, *AslBase;
-
-
- /*=============================================================================
- Hilfsfunktionen
- -----------------------------------------------------------------------------*/
-
- LONG xget (Object *obj, ULONG attribute)
- {
- LONG x;
-
- get (obj, attribute, &x);
- return (x);
- }
-
-
- BOOL OpenLibs (void)
- {
- DocMaFRBase = OpenLibrary ("docmafr.library", 1);
- MUIMasterBase = OpenLibrary ("muimaster.library", 14);
- AslBase = OpenLibrary ("asl.library", 39);
- if (DocMaFRBase && MUIMasterBase && AslBase) return (TRUE);
- return (FALSE);
- }
-
-
- void CloseLibs (void)
- {
- if (DocMaFRBase) CloseLibrary (DocMaFRBase);
- if (MUIMasterBase) CloseLibrary (MUIMasterBase);
- if (AslBase) CloseLibrary (AslBase);
- }
-
-
- Object *MakeLabel1 (char *str)
- {
- return (MUI_MakeObject (MUIO_Label, str, MUIO_Label_SingleFrame));
- }
-
-
- Object *MakeLabel2 (char *str)
- {
- return (MUI_MakeObject (MUIO_Label, str, MUIO_Label_DoubleFrame));
- }
-
-
- void printreq (Object *list, struct FileRequester *req)
- {
- struct WBArg *frargs;
- int x;
- char line[1000];
-
- DoMethod (list, MUIM_List_Clear);
- set (list, MUIA_List_Quiet, TRUE);
- sprintf (line, "fr_File: %s", req->fr_File); DoMethod (list, MUIM_List_InsertSingle, line, MUIV_List_Insert_Bottom);
- sprintf (line, "fr_Drawer: %s", req->fr_Drawer); DoMethod (list, MUIM_List_InsertSingle, line, MUIV_List_Insert_Bottom);
- sprintf (line, "fr_NumArgs: %d", req->fr_NumArgs); DoMethod (list, MUIM_List_InsertSingle, line, MUIV_List_Insert_Bottom);
- sprintf (line, "fr_ArgList:"); DoMethod (list, MUIM_List_InsertSingle, line, MUIV_List_Insert_Bottom);
- for (x = 0, frargs = req->rf_ArgList; x < req->rf_NumArgs; x++)
- {
- sprintf (line, " %d: %s %ld", x, frargs[x].wa_Name, frargs[x].wa_Lock); DoMethod (list, MUIM_List_InsertSingle, line, MUIV_List_Insert_Bottom);
- }
- sprintf (line, "fr_UserData: %s", req->fr_UserData); DoMethod (list, MUIM_List_InsertSingle, line, MUIV_List_Insert_Bottom);
- sprintf (line, "fr_Pattern: %s", req->fr_Pattern); DoMethod (list, MUIM_List_InsertSingle, line, MUIV_List_Insert_Bottom);
- set (list, MUIA_List_Quiet, FALSE);
- }
-
-
- void main (void)
- {
- ULONG res, sigs=0;
- struct FileRequester *areq, *dreq;
-
- if (OpenLibs ())
- {
- if (dreq = AllocDocMaRequestTags (ASL_FileRequest,
- ASL_Hail, "DocMa FileRequest",
- ASL_Dir, "sys:",
- TAG_END))
- {
- if (areq = AllocAslRequestTags (ASL_FileRequest,
- ASL_Hail, "Asl FileRequest",
- ASL_Dir, "sys:",
- TAG_END))
- {
-
- if (app = ApplicationObject,
- MUIA_Application_Title, "DOCMAFRTEST",
- MUIA_Application_Author, "Marc Ewert",
- MUIA_Application_Version, "$VER: DocMaFRTest 1.0 (06.04.97)",
- MUIA_Application_Copyright, "© 1997, Marc Ewert",
- MUIA_Application_Description, "Document Manager Filerequester Test",
- MUIA_Application_Base, "DOCMAFRTEST",
- MUIA_Application_Window,
- win = WindowObject,
- MUIA_Window_Title, "DocMaFR Test",
- MUIA_Window_ID, MAKE_ID ('D','T','E','S'),
- MUIA_Background, MUII_WindowBack,
- WindowContents,
- VGroup,
- Child, HGroup,
- Child, multi = MUI_MakeObject (MUIO_Checkmark, "Multiselect"),
- Child, MakeLabel1 ("MultiSelect"),
- Child, HSpace (0),
- Child, patgad = MUI_MakeObject (MUIO_Checkmark, "PatGad"),
- Child, MakeLabel1 ("PatGad"),
- Child, HSpace (0),
- Child, savemode = MUI_MakeObject (MUIO_Checkmark, "SaveMode"),
- Child, MakeLabel1 ("SaveMode"),
- Child, HSpace (0),
- Child, drawers = MUI_MakeObject (MUIO_Checkmark, "NoFiles"),
- Child, MakeLabel1 ("NoFiles"),
- Child, HSpace (0),
- End,
- Child, HGroup,
- Child, alist = ListObject,
- MUIA_Background, MUII_ReadListBack,
- MUIA_Frame, MUIV_Frame_ReadList,
- MUIA_List_ConstructHook, MUIV_List_ConstructHook_String,
- MUIA_List_DestructHook, MUIV_List_DestructHook_String,
- MUIA_List_Title, "Asl FileRequester",
- End,
- Child, dlist = ListObject,
- MUIA_Background, MUII_ReadListBack,
- MUIA_Frame, MUIV_Frame_ReadList,
- MUIA_List_ConstructHook, MUIV_List_ConstructHook_String,
- MUIA_List_DestructHook, MUIV_List_DestructHook_String,
- MUIA_List_Title, "DocMa FileRequester",
- End,
- End,
- Child, HGroup,
- Child, aget = MUI_MakeObject (MUIO_Button, "AslRequest"),
- Child, HSpace(0),
- Child, dget = MUI_MakeObject (MUIO_Button, "DocMaRequest"),
- End,
- End,
- End,
- End)
- {
- DoMethod (win, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
- DoMethod (aget, MUIM_Notify, MUIA_Pressed, FALSE, app, 2, MUIM_Application_ReturnID, AGET_ID);
- DoMethod (dget, MUIM_Notify, MUIA_Pressed, FALSE, app, 2, MUIM_Application_ReturnID, DGET_ID);
- set (win, MUIA_Window_Open, TRUE);
- while ((res = DoMethod(app,MUIM_Application_NewInput,&sigs)) != MUIV_Application_ReturnID_Quit)
- {
- switch (res)
- {
- case AGET_ID:
- AslRequestTags (areq, ASLFR_Screen, xget (win, MUIA_Window_Screen), ASLFR_DoMultiSelect, xget (multi, MUIA_Selected), ASLFR_DoPatterns, xget (patgad, MUIA_Selected), ASLFR_DoSaveMode, xget (savemode, MUIA_Selected), ASLFR_DrawersOnly, xget (drawers, MUIA_Selected), TAG_END);
- printreq (alist, areq);
- break;
- case DGET_ID:
- DocMaRequestTags (dreq, ASLFR_Screen, xget (win, MUIA_Window_Screen), ASLFR_DoMultiSelect, xget (multi, MUIA_Selected), ASLFR_DoPatterns, xget (patgad, MUIA_Selected), ASLFR_DoSaveMode, xget (savemode, MUIA_Selected), ASLFR_DrawersOnly, xget (drawers, MUIA_Selected), TAG_END);
- printreq (dlist, dreq);
- break;
- }
- if (sigs)
- {
- sigs = Wait(sigs | SIGBREAKF_CTRL_C);
- if (sigs & SIGBREAKF_CTRL_C) break;
- }
- }
- set (win, MUIA_Window_Open, FALSE);
- MUI_DisposeObject (app);
- }
- FreeAslRequest (areq);
- }
- FreeDocMaRequest (dreq);
- }
- }
- CloseLibs ();
- }
-